package com.prd.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 加班管理表数据
 * </p>
 *
 * @author lizhaoyi
 * @since 2023-10-19
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("加班管理对象")
public class AttendanceOtDTO implements Serializable {

    private static final long serialVersionUID = 1L;
    @JsonSerialize(using= ToStringSerializer.class)
    private Integer id;

    /**
     * 状态
     */
    @ApiModelProperty("状态")
    private Integer status;

    /**
     * 是否删除
     */
    @ApiModelProperty("是否删除")
    private Integer isDelete;

    /**
     * 主题
     */
    @ApiModelProperty("主题")
    private String title;

    /**
     * 事由
     */
    @ApiModelProperty("事由")
    private String reason;

    /**
     * 加班单位，1-小时;2-天
     */
    @ApiModelProperty("加班单位，1-小时;2-天")
    private Integer timeUnit;

    /**
     * 加班日期
     */
    @ApiModelProperty("加班日期")
    private LocalDate otDate;

    /**
     * 时间段-开始时间
     */
    @ApiModelProperty("时间段-开始时间")
    private LocalDate otStartTime;

    /**
     * 时间段-结束时间
     */
    @ApiModelProperty("时间段-结束时间")
    private LocalDate otEndTime;

    /**
     * 加班总时长
     */
    @ApiModelProperty("加班总时长")
    private String otTotalTime;

    /**
     * 加班时长
     */
    @ApiModelProperty("加班时长")
    private Integer otDuration;

    /**
     * 特别说明
     */
    @ApiModelProperty("特别说明")
    private String remark;

    /**
     * 申请人
     */
    @ApiModelProperty("申请人")
    private String applicantName;

    /**
     * 申请人id
     */
    @ApiModelProperty("申请人id")
    private Integer applicantId;

    /**
     * 审批人
     */
    @ApiModelProperty("审批人")
    private String approveName;

    /**
     * 审批人id
     */
    @ApiModelProperty("审批人id")
    private Integer approveId;

    /**
     * 抄送人
     */
    @ApiModelProperty("抄送人")
    private String toCc;

    /**
     * 抄送人id
     */
    @ApiModelProperty("抄送人id")
    private Integer toCcId;

    /**
     * 工作流id
     */
    @ApiModelProperty("工作流id")
    private String processId;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createdTime;

    /**
     * 编号
     */
    @ApiModelProperty("编号")
    private Integer num;


}
